using Skill;

namespace ScriptableObjects.Pokemon
{
    using System.Collections.Generic;
    using UnityEngine;
    /// <summary>
    /// 宝可梦基类
    /// </summary>
    [CreateAssetMenu(fileName ="new pokemon",menuName ="GameItem/Create new pokemon")]
    public class PokemonBase: ScriptableObject
    {
        //宝可梦名称
        [SerializeField] private string pokemonName;

        //宝可梦描述
        [TextArea]
        [SerializeField] private string description;

        //宝可梦模型
        [SerializeField] private GameObject pokemonModel;

        //第一属性
        [SerializeField] private PokemonType firstType; 
        //第二属性
        [SerializeField] private PokemonType secondType;

        //种族值
        [SerializeField] private int baseHp;
        [SerializeField] private int baseAttack;
        [SerializeField] private int baseDefense;
        [SerializeField] private int baseSpAttack;
        [SerializeField] private int baseSpDefense;
        [SerializeField] private int baseSpeed;

        //技能学习表
        [SerializeField] private List<LearnSkill> skillList;

        public int BaseHp => baseHp;
        public int BaseAttack => baseAttack;
        public int BaseDefense => baseDefense;
        public int BaseSpAttack => baseSpAttack;
        public int BaseSpDefense => baseSpDefense;
        public int BaseSpeed => baseSpeed;
        public List<LearnSkill> SkillList => skillList;
        public string PokemonName => pokemonName;
        public string Description => description;
        public GameObject PokemonModel => pokemonModel;
        public PokemonType FirstType => firstType;
        public PokemonType SecondType => secondType;
    }
}